<?php

namespace app\admin\controller;

use think\Controller;

use think\Db;
use think\Session;


class Index extends Controller
{
    /**
     * 后台登录页面
     * @return \think\response\View
     */
    public function index()
    {
        return view('admin@index/login');
    }

    /**
     * 后台登录处理
     * @return \think\response\View
     */
    public function logindo()
    {
        $value = input('post.');
//        dump($data);die;
        $name = $value['au_name'];
        $pass = $value['au_password'];
        //验证
        if(empty($name)|empty($pass)){

            return $this->error ('登录信息不能为空');
        }
        $data = Db::table('cc_admin_user')->where('au_name',$name)->find();
        if (!$data) {
            $this->error('用户不存在！');
            exit;
        }
        //验证密码
        if ($data['au_password'] != md5($pass)) {
            $this->error('密码不正确');
            exit;
        }
        //把用户信息添加到session
        Session::set('admin_user',$data);

        // 根据用户id 查询相对应节点信息
        $rids = Db::table('cc_user_role')->where('au_id',$data['au_id'])->select();
//        dump($rids);die;

        // 通过角色ID 查询当前用户 所对应的权限 ID
        // 定义一个 空数组
        $nids = array();
        for ($i=0;$i<sizeof($rids);$i++){
            $nids[] = Db::table('cc_role_node')->where('r_id',$rids[$i]['r_id'])->select();
        }
//        dump($nids);die;

        // 定义一个 空数组 来接收 所有的角色权限ID
        $user_node_id = array();
        for ($i=0;$i<sizeof($nids);$i++){
            for ($j=0;$j<sizeof($nids[$i]);$j++){
                $user_node_id[] = $nids[$i][$j]['n_id'];
            }
        }
//        dump($user_node_id);die;

        // 查询当前用户所有权限的控制器和方法
        // 定义空数组 用来接收 所有值
        $node = array();
        for ($i=0;$i<sizeof($user_node_id);$i++){
            $node[] = Db::table('cc_admin_node')->where('n_id',$user_node_id[$i])->find();
        }

        foreach ($node as $k) {
            $nodelist[$k['n_controller']][] = $k['n_model'];
        }
//        dump($nodelist);die;
        // 把用户对应的角色权限id 存入session
        Session::set('admin_user.nodelist',$nodelist);

        // 判断此用户有无权限登录主页
        // 定义一个数组 接收 session 中权限的信息
//        $node_session = Session::get('node');
////                dump($node_session);die;
//        for ($i=0;$i<sizeof($node_session);$i++){
//            if ($node_session[$i]['n_controller']=='Main' && $node_session[$i]['n_model']=='index'){
//            }
//        }
//        return $this->error('SORRY !!! 您当前没有权限登录后台首页。。。');
        return $this->success('登录成功 ！！！ ','admin/main/index');

    }

    /**
     * 后台登出处理
     * @return \think\response\View
     */
    public function logout()
    {

        //清空session
        session('admin_user',null);
        //跳转

        $this->redirect('admin/index/index');
    }

}
